$(function () {
    // 1- 首页渲染 
    // 2- 分页
    // 3- 添加商品 
  
  
    var currentPage = 1;
    var pageSize = 5;
    // 1- 首页渲染 
    function render () {
      $.ajax({
        type: 'get',
        url: '/product/queryProductDetailList',
        data: {
          page: currentPage,
          // 对象的键值如果同名，可以省略一个
          pageSize
        },
        dataType: 'json',
        success: function (res) {
          console.log(res);
          // 渲染
          $('tbody').html(template('tmp', res));
          // 根据服务器返回的总数 生成分页标签
          setPage(res.total);
        }
      })
    }
  
    render();
    //禁用启用功能
    var id = null;
    var isDelete = null;
    $('tbody').on('click','my-btn',function(){
      id = $(this).parent().data('id');
      isDelete = $(this).hasClass('btn-danger') ? 0:1;
      console.log(id,isDelete);
      
    });
    $('.btn-ok').click(function(){
      $.ajax({
        type: "post",
        url: "/user/updateUser",
        data: {
          id: id,
          isDelete: isDelete

        },
        dataType: "json",
        success: function (res) {
          console.log(res);
          render();
          $('.modal-user').modal('hide')
          
        }
      });
    })









  
    // 2- 分页
    // 1- 获取后台数据库数据的总数 
    // 2- 使用分页插件生成分页标签 
    function setPage (total) {
      // 2- 使用分页插件生成分页标签 
      $("#paginator").bootstrapPaginator({
        bootstrapMajorVersion: 3,//默认是2，如果是bootstrap3版本，这个参数必填
        currentPage: currentPage,//当前页
        totalPages: Math.ceil(total / pageSize),//总页数     
        onPageClicked: function (event, originalEvent, type, page) {
          //为按钮绑定点击事件 page:当前点击的按钮值
          // 当前页发生改变 
          currentPage = page;
          // 重新渲染 
          render();
        }
      });
    }
  
    // 3-下拉列表填充 
    // 数据 + 模板 
    $.ajax({
      type: 'get',
      url: '/category/querySecondCategoryPaging',
      data: {
        page: 1,
        pageSize: 100
      },
      dataType: 'json',
      success: function (res) {
        console.log(res);
        // 渲染
        $('.cate-two-list').html(template('tmp-two', res));
      }
    })
  
    // 4-下拉列表选中 
    // 1- 点击a标签，把a标签的文本赋值给 按钮  
    // 2- 把a表单的data-id 赋值给隐藏域  
    $('.cate-two-list').on('click', 'a', function () {
      $('.cate-title').text($(this).text());
      $('#brandId').val($(this).data('id'));
      // 在下拉列表选中后，恢复下拉列表选中状态 
      $('.add-form').data('bootstrapValidator').updateStatus('brandId', 'VALID');
    });
  
  
    // 5- 初始化文件上传插件 
    // 图片上传要求：
    // 只保留最近上传的三张图片，做轮播图  （记录图片的个数和顺序： 用数组来解决 ）
    // 把最新图片添加在盒子的最前面
    // 图片预览 
  
    var picArr = [];  // 记录图片的个数和顺序
  
    // 数组的方法：
    // 前面： 加 unshift ()  删： shift()
    // 后面： 加 push()      删：pop() 
    // jquery 添加元素 
  
    // prepend();  在元素内部的前面添加子元素
    // append();  在元素内部的后面追加子元素
    // before();  在盒子同级的前面添加兄弟元素
    // after();   在盒子同级的后面添加兄弟元素  
  
    // remove(); 自杀
    // empty();  清空内容 
  
    $("#file").fileupload({
      dataType: "json",
      //e：事件对象
      //data：图片上传后的对象，通过data.result.picAddr可以获取上传后的图片地址
      done: function (e, data) {
        console.log(data.result);
        var img = data.result;
        // 记录图片顺序 
        picArr.unshift(img);
  
        // 预览图片
        $('.img-box').prepend('<img src="' + img.picAddr + '" alt="" height="60" >');
  
  
        // 判断图片是否大于三张 
        if (picArr.length > 3) {
          // 删除数组的最后一个元素
          picArr.pop();
          // img-box盒子中 删除最后一个 图片
          $('.img-box img:last-child').remove();
        }
  
        // 如果图片够了三张， 数据合理 把图片地址赋值给 隐藏域 
        if (picArr.length == 3) {
          $('#picArr').val(JSON.stringify(picArr));
          //   当图片够三张时， 恢复图片的校验状态
          $('.add-form').data('bootstrapValidator').updateStatus('picArr', 'VALID');
        }
  
  
        console.log(picArr);
  
  
      }
    });
  
  
    // 6- 表单校验
    //使用表单校验插件
    $('.add-form').bootstrapValidator({
      //1. 指定不校验的类型，默认为[':disabled', ':hidden', ':not(:visible)'],可以不设置
      excluded: [':disabled'],
  
      //2. 指定校验时的图标显示，默认是bootstrap风格
      feedbackIcons: {
        valid: 'glyphicon glyphicon-ok',
        invalid: 'glyphicon glyphicon-remove',
        validating: 'glyphicon glyphicon-refresh'
      },
  
      //3. 指定校验字段
      fields: {
        //校验用户名，对应name表单的name属性
        // 二级分类id  
        brandId: {
          validators: {
            //不能为空
            notEmpty: {
              message: '请选择二级分类'
            }
          }
        },
        // 商品名称
        proName: {
          validators: {
            //不能为空
            notEmpty: {
              message: '请求输入商品名称'
            }
          }
        },
        // 商品描述
        proDesc: {
          validators: {
            //不能为空
            notEmpty: {
              message: '请求输入商品描述'
            }
          }
        },
        // 库存
        num: {
          validators: {
            //不能为空
            notEmpty: {
              message: '请求输入商品 库存'
            },
            //正则校验
            regexp: {
              regexp: /^[1-9]\d*$/,
              message: '库存必须是非0开头的数字'
            }
          }
        },
        // 尺码
        size: {
          validators: {
            //不能为空
            notEmpty: {
              message: '请求输入商品尺码'
            },
            //正则校验
            regexp: {
              regexp: /^[1-9]\d-[1-9]\d$/,
              message: '尺码必须是xx-xx的格式， x数字'
            }
          }
        },
        // 原价 
        oldPrice: {
          validators: {
            //不能为空
            notEmpty: {
              message: '请求输入商品原价'
            }
          }
        },
        // 现价
        price: {
          validators: {
            //不能为空
            notEmpty: {
              message: '请求输入商品现价'
            }
          }
        },
        picArr: {
          validators: {
            //不能为空
            notEmpty: {
              message: '请求上传三张图片'
            }
          }
        }
      }
  
    });
    //添加商品
  
    $('.add-form').on('success.form.bv', function (e) {
      e.preventDefault();
      var str = $('.add-form').serialize();
      console.log(str);
      // ajax提交 
      $.ajax({
        type: 'post',
        url: '/product/addProduct',
        data: str,
        dataType: 'json',
        success: function (res) {
          console.log(res);
          // 页面重新渲染 
          render();
          // 隐藏模态框
          $('.modal-add').modal('hide');
          // 表单重置 数据 校验样式
          $('.add-form').data('bootstrapValidator').resetForm(true);
          // 手动清空图片和按钮 的样式 
          $('.img-box').empty();
          // $('.img-box img').remove(); 
          // $('.img-box').html('');
          $('.cate-title').text('请选择二级分类');
          // 清空picArr数组 
          picArr = []; // 防止删除添加图片的数据，对下次添加产生影响；
        }
      })
  
    });
  
  })